package com.mdl.common.lock;

import java.lang.annotation.*;

@Documented
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DistributedLockAble {
    /**
     * 锁定资源的前缀
     *
     * @return
     */
    String prefix() default "";

    /**
     * 锁定资源的参数序号
     *
     * @return
     */
    int argIdx() default 0;

    /**
     * 锁等待时间，单位毫秒，默认30秒
     *
     * @return
     */
    int waiting() default 30 * 1000;

    /**
     * 锁过期时间，单位毫秒，默认60秒
     *
     * @return
     */
    int expire() default 60 * 1000;
}
